
Require Import List.

Section Queens.

Definition dim : Type := nat.
Definition row : Type := nat.
Definition col : Type := nat.
Definition square : Type := prod nat nat.

Definition nat_diff : nat -> nat -> nat :=
  fun x y => if x < y then y - x else x - y.


Definition attacks : square -> square -> bool :=
  fun (x1, y1) (x2, y2) -> x1 = y1 || x2 = y2 || 
